package com.forgenet.rpc;

import com.forgenet.message.rpc.RpcOtherDispatchClientRequest;
import com.forgenet.message.rpc.RpcGateDispatchOtherRequest;
import com.sparrow.rpc.annotation.RpcInterface;
import com.sparrow.rpc.annotation.RpcMethod;
import com.sparrow.rpc.future.RpcFuture;

@RpcInterface
public interface IDispatchFacade {

    /**
     * 网关转发游戏客户端请求到其他节点
     * @param request
     * @return
     */
    @RpcMethod
    RpcFuture<Void> dispatchToOtherReq(RpcGateDispatchOtherRequest request);

    /**
     * 其他节点转发到游戏客户端请求
     * @param request
     * @return
     */
    @RpcMethod
    RpcFuture<Void> dispatchToClientReq(RpcOtherDispatchClientRequest request);
}
